<?php
namespace app\common\library;
use \com\Hzpy;
class Letter{
    public static function getletters($name,$sid=0,$pid=0){
		$model = config('model');
	    $tree= $model[$sid];
	    $pinyin = new Hzpy();
	    $name=preg_replace("/\s|\:|(|\~|\`|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\+|\=|\{|\}|\[|\]|\||\\|\:|\;|\"|\'|\<|\,|\>|\.|\?|\/)/is","",$name);
	    if(!empty($tree['name']) || $sid=='list' || $sid=='mcat'){
		    if($sid=='list'){
		        $dbname='list';
		        $wherename='list_dir';
		    }elseif($sid=='mcat' && !empty($pid)){
		        $dbname='mcat';
		        $wherename='m_ename';			
		    }else{
		        $dbname=$tree['name'];
                $wherename=$tree['name'].'_letters';		
		    }
		    $rs = db($dbname);
		    $letter=$pinyin->pinyin(trim($name));
		    $where[$wherename] = $letter;
		    if($sid=='mcat' && !empty($pid)){
		        $where['m_list_id'] = $pid;	
		    }
		    if($rs->where($where)->count() > 0){
			    $letter = $pinyin->pinyin(trim($name));
			    $where[$wherename] = $letter;
		        if($sid=='mcat' && !empty($pid)){
		            $where['m_list_id'] = $pid;	
		        }			
			    $i = 1;
			    while($rs->where($where)->count() > 0){
				    $letter = $pinyin->pinyin(trim($name)).$i;
				    $where[$wherename] = $letter;
		            if($sid=='mcat' && !empty($pid)){
		                 $where['m_list_id'] = $pid;	
		            }				
				    $i++;
			    }
		    }
		        return $letter;
		}else{
		    if($name){
	            return $pinyin->pinyin(trim($name));	
       	    }else{
                return false ;
		    }	
		}
	}
    public static function getletter($s0){
	    $s0=preg_replace("/\s|\:|(|\~|\`|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\+|\=|\{|\}|\[|\]|\||\\|\:|\;|\"|\'|\<|\,|\>|\.|\?|\/)/is","",$s0);
	    $firstchar_ord=ord(strtoupper($s0{0})); 
	    if (($firstchar_ord>=65 and $firstchar_ord<=91)or($firstchar_ord>=48 and $firstchar_ord<=57)) return $s0{0}; 
	        $s=iconv("UTF-8","gb2312", $s0); 
	        $asc=ord($s{0})*256+ord($s{1})-65536; 
	        if($asc>=-20319 and $asc<=-20284)return "A";
	        if($asc>=-20283 and $asc<=-19776)return "B";
	        if($asc>=-19775 and $asc<=-19219)return "C";
	        if($asc>=-19218 and $asc<=-18711)return "D";
	        if($asc>=-18710 and $asc<=-18527)return "E";
	        if($asc>=-18526 and $asc<=-18240)return "F";
	        if($asc>=-18239 and $asc<=-17923)return "G";
	        if($asc>=-17922 and $asc<=-17418)return "H";
	        if($asc>=-17417 and $asc<=-16475)return "J";
	        if($asc>=-16474 and $asc<=-16213)return "K";
	        if($asc>=-16212 and $asc<=-15641)return "L";
	        if($asc>=-15640 and $asc<=-15166)return "M";
	        if($asc>=-15165 and $asc<=-14923)return "N";
	        if($asc>=-14922 and $asc<=-14915)return "O";
	        if($asc>=-14914 and $asc<=-14631)return "P";
	        if($asc>=-14630 and $asc<=-14150)return "Q";
	        if($asc>=-14149 and $asc<=-14091)return "R";
	        if($asc>=-14090 and $asc<=-13319)return "S";
	        if($asc>=-13318 and $asc<=-12839)return "T";
	        if($asc>=-12838 and $asc<=-12557)return "W";
	        if($asc>=-12556 and $asc<=-11848)return "X";
	        if($asc>=-11847 and $asc<=-11056)return "Y";
	        if($asc>=-11055 and $asc<=-10247)return "Z";
	        return 0;//null
    }
}
// +----------------------------------------------------------------------
// | ZanPianCMS
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.zanpiancms.com All rights reserved.
// +----------------------------------------------------------------------
// | BBS:  <http://www.zanpiancms.cc>
// +----------------------------------------------------------------------
?>